Systems, methods, and media for recovering data symbols in multiple-input, multiple-output receivers

ABSTRACT

Mechanisms for recovering data symbols in multiple-input, multiple-output (MIMO) receivers, the mechanisms comprising receiving, at Na antennas that each have an output: first signals corresponding to Np pilot symbols transmitted from each of K transmitters for a total of Np*K transmitted pilot symbols; and second signals corresponding to a plurality of transmitted data symbols transmitted from the K transmitters, wherein Np is less than Na, and wherein K is less than Na; receiving, at a hardware processor, first digital signals representing the Np*K transmitted pilot symbols; receiving, at the hardware processor, second digital signals representing the plurality of transmitted data symbols; and recovering the plurality of transmitted data symbols using the second digital signals and no more pilot symbols than the Np*K transmitted pilot symbols represented by the first digital signals using the hardware processor.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of United States Provisional Patent Application No. 62/913,087, filed Oct. 9, 2019, which is hereby incorporated by reference herein in its entirety.

STATEMENT REGARDING GOVERNMENT FUNDED RESEARCH

This invention was made with government support under Grant CCF 1814803 awarded by the National Science Foundation and Grant N000141712827 awarded by the Office of Naval Research. The government has certain rights in the invention.

BACKGROUND

Massive multiple-input multiple-output (MIMO) refers to a communication system in which a large-scale antenna array is deployed at a base station (BS) to serve multiple users simultaneously. Massive MIMO can significantly increase capacity and energy efficiency through multi-user beamforming and is believed to be a key technology for next-generation communication systems. A practical obstacle for massive MIMO is the high cost and power consumption of high-resolution analog-to-digital converters (HR-ADCs) that are frequently used in the BS.

In a typical fully digital BS, each antenna is equipped with an individual radio frequency (RF) chain that contains an HR-ADC. When the number of antennas grows large, the related cost and power consumption of the HR-ADCs can be a heavy burden, rendering such fully digital system impractical for massive MIMO.

Hybrid analog/digital architectures and low-resolution ADC (LR-ADC) transceivers are two low cost and low power solutions that can be used to reduce this burden.

In hybrid analog/digital architectures, combining is divided into analog processing in RF band and digital processing in baseband. Analog and digital processing are connected by RF chains and ADCs, which are each much smaller in number than the number of antennas.

In low-resolution ADC (LR-ADC) transceivers, HR-ADCs are replaced with LR-ADCs to reduce the cost and power consumption, which grow exponentially with the resolution.

To achieve the performance gain offered by massive MIMO, it is crucial to use accurate channel state information (CSI) to recover transmitted symbols. However, conventional channel estimation algorithms based on pilot training for massive MIMO cannot be directly applied to systems equipped with the hybrid architecture or LR-ADCs because hybrid architectures reduce the number of RF chains and hence reduces the number of effective observations, and because LR-ADCs cause nonlinear distortions and additional interferences to the useful signals.

Accordingly, new mechanisms for recovering data symbols in multiple-input, multiple-output receivers are desirable.

SUMMARY

In accordance with some embodiments, mechanisms (which can include systems, methods, and media) for recovering data symbols in multiple-input, multiple-output receivers are provided.

In some embodiments, systems for recovering data symbols in a multiple-input, multiple-output (MIMO) receiver are provided, the systems comprising: N_(a) antennas that each have an output, that receive first signals corresponding to N_(p) pilot symbols transmitted from each of K transmitters for a total of N_(p)*K transmitted pilot symbols, and that receive second signals corresponding to a plurality of transmitted data symbols transmitted from the K transmitters, wherein N_(p) is less than N_(a), and wherein K is less than N_(a); an RF combiner having N_(a) inputs and N_(r) outputs, wherein each of the N_(a) inputs is connected to the output of a unique one of the N_(a) antennas; N_(r) RF chains, wherein each of the N_(r) RF chains has an input connected to a unique one of the N_(r) outputs of the RF combiner, wherein each of the N_(r) RF chains has an output, and wherein N_(r) is less than N_(a); N_(r) b-bit analog to digital converters (ADCs), wherein each of the N_(r)b-bit ADCs has an input connected to the output of a unique one of the N_(r) RF chains, and wherein each of the N_(r)b-bit ADCs has an output; and a hardware processor coupled to the output of each of the N_(r)b-bit ADCs and configured to: receive first digital signals representing the N_(p)*K transmitted pilot symbols; receive second digital signals representing the plurality of transmitted data symbols; and recover the plurality of transmitted data symbols using the second digital signals and no more pilot symbols than the N_(p)*K transmitted pilot symbols represented by the first digital signals.

In some embodiments of these systems, N_(p) equals K. In some embodiments of these systems, N_(p) is less than half of N_(a). In some embodiments of these systems, the RF combiner combines signals from the antennas using phase shifters. In some embodiments of these systems, the RF combiner uses switches to couple the N_(r)RF chains to N_(r) of the N_(a) antennas. In some embodiments of these systems, recovering the plurality of transmitted data symbols includes performing low-rank matrix decomposition on the first digital signals and the second digital signals. In some embodiments of these systems, b is less than 5. In some embodiments of these systems, the hardware processor uses Bussgang's decomposition to linearize distortion in at least one of the first digital signals and the second digital signals. In some embodiments of these systems, recovering the plurality of transmitted data symbols includes estimating a K×K ambiguity matrix using the first digital signals.

In some embodiments, methods for recovering data symbols in a multiple-input, multiple-output (MIMO) receiver are provided, the methods comprising: receiving, at N_(a) antennas that each have an output: first signals corresponding to N_(p) pilot symbols transmitted from each of K transmitters for a total of N_(p)*K transmitted pilot symbols; and second signals corresponding to a plurality of transmitted data symbols transmitted from the K transmitters, wherein N_(p) is less than N_(a), and wherein K is less than N_(a); receiving, at a hardware processor, first digital signals representing the N_(p)*K transmitted pilot symbols; receiving, at the hardware processor, second digital signals representing the plurality of transmitted data symbols; and recovering the plurality of transmitted data symbols using the second digital signals and no more pilot symbols than the N_(p)*K transmitted pilot symbols represented by the first digital signals using the hardware processor.

In some embodiments of these methods, N_(p) equals K. In some embodiments of these methods, N_(p) is less than half of N_(a). In some embodiments of these methods, recovering the plurality of transmitted data symbols includes performing low-rank matrix decomposition on the first digital signals and the second digital signals. In some embodiments of these methods, further comprising using Bussgang's decomposition to linearize distortion in at least one of the first digital signals and the second digital signals. In some embodiments of these methods, recovering the plurality of transmitted data symbols includes estimating a K×K ambiguity matrix using the first digital signals.

In some embodiments, non-transitory computer-readable media containing computer executable instructions that, when executed by a processor, cause the processor to perform a method for recovering data symbols in a multiple-input, multiple-output (MIMO) receiver are provided, the method comprising: receiving, at N_(a) antennas that each have an output: first signals corresponding to N_(p) pilot symbols transmitted from each of K transmitters for a total of N_(p)*K transmitted pilot symbols; and second signals corresponding to a plurality of transmitted data symbols transmitted from the K transmitters, wherein N_(p) is less than N_(a), and wherein K is less than N_(a); receiving, at a hardware processor, first digital signals representing the N_(p)*K transmitted pilot symbols; receiving, at the hardware processor, second digital signals representing the plurality of transmitted data symbols; and recovering the plurality of transmitted data symbols using the second digital signals and no more pilot symbols than the N_(p)*K transmitted pilot symbols represented by the first digital signals using the hardware processor.

In some embodiments of these non-transitory computer-readable media, N_(p) equals K. In some embodiments of these non-transitory computer-readable media, N_(p) is less than half of N_(a). In some embodiments of these non-transitory computer-readable media, recovering the plurality of transmitted data symbols includes performing low-rank matrix decomposition on the first digital signals and the second digital signals. In some embodiments of these non-transitory computer-readable media, the method further comprises using Bussgang's decomposition to linearize distortion in at least one of the first digital signals and the second digital signals. In some embodiments of these non-transitory computer-readable media, recovering the plurality of transmitted data symbols includes estimating a K×K ambiguity matrix using the first digital signals.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an example of a massive MIMO system including K user devices and a base station in accordance with some embodiments.

FIG. 2A is an example of a portion of a base station using switches in an RF band combining circuit in accordance with some embodiments.

FIG. 2B is an example of a portion of a base station using phase shifters in an RF band combining circuit in accordance with some embodiments.

FIG. 3 is an example of a regularized alternating least squares (R-ALS) algorithm that can be executed by a hardware processor to recover data signal in accordance with some embodiments.

FIGS. 4A and 4B are an example of a bilinear generalized AMP (BiG-AMP) algorithm that can be executed by a hardware processor to recover data signal in accordance with some embodiments.

FIG. 5 is an example of a table showing example values of stepsize Δ_(b) and minimum normalized MSE (NMSE) for different resolutions b of ADCs in accordance with some embodiments.

DETAILED DESCRIPTION

In accordance with some embodiments, mechanisms (which can include systems, methods, and media) for recovering data symbols in multiple-input, multiple-output receivers are provided.

In some embodiments a semi-blind detection technique is provided for data detection without knowing a channel estimate in an uplink multi-user system. In some embodiments, this technique exploits a received signal corresponding to both a pilot payload and a data payload for data recovery via a low-rank matrix completion formulation.

Two iterative algorithms are introduced in connection with FIGS. 3 and 4 to solve the low-rank matrix completion problem: 1) regularized alternating least squares (R-ALS); and 2) bilinear generalized approximate message passing (BiG-AMP).

Uppercase and lowercase boldface letters are used herein to denote matrices and column vectors, respectively. The format A_(ij) denotes the (i,j)-th entry of A and A_(ij)* denotes the conjugate of A_(ij). The format A(i,:) and A(:,j) denote the i-th row and j-th column of A, respectively. The format A^(T), A^(H) and A⁵⁵⁴ denote the transpose, conjugate transpose, and Moore-Penros pseudo-inverse of A, respectively. The format Diag(d) returns a diagonal matrix whose diagonal elements are given by a vector d. The format E(⋅) represents the expectation and the format Var(⋅) represents the corresponding variance. The probability density function of a real or complex Gaussian distribution x with mean μ and variance σ² is denoted as

(x; μ, σ²) or

(x; μ, σ²), respectively. In particular, ϕ(x)

(x;0,1) and Φ(x)

∫_(−∞) ^(x)

(x;0,1)dx. Finally, j=√{square root over (−1)} and sign(⋅) is the sign function.

Turning to FIG. 1, an example 100 of a single-cell multi-user MIMO uplink system with a hybrid architecture is illustrated. As shown, system 100 includes K single-antenna user devices 102 served by a base station (BS) 104 equipped with N_(a), antennas 106.

Any suitable number K (including 0, 1, 2, 3, . . . ) of user devices 102 can used in some embodiments. For example, K can be any number less than half of N_(a) in some embodiments. Any type of user devices 102 can be used in some embodiments. For example, in some embodiments, the user devices can be transmitters or transceivers in any suitable user device such as a mobile phone, a mobile hot spot, a portable computer (such as a laptop, a tablet computer, etc.), an Internet of Things (IoT) device, such as a smart switch, a smart camera, a smart outlet, a smart speaker, a smart display, a smart thermostat, a smart doorbell, a smart camera, etc., and/or any other device containing a transmitter or transceiver.

Although only one BS 104 is shown in FIG. 1, any suitable number of BSs can be used in some embodiments.

Any suitable number Na of antennas 106 can be used in some embodiments. For example, N_(a) can be 64, 128, or 256, in some embodiments.

As shown in FIG. 1, BS 104 can employ an analog structure with an RF band combining circuit 108 and N_(r)RF chains 110 to combine the incoming signal in the RF band.

Any suitable number N_(r) of RF chains can be used in some embodiments. For example, N_(r) can be 32, 40, or any number up to the number of antennas (N_(a)) in some embodiments.

In some embodiments, each RF chain 110 can be followed by (or contain) a b-bit ADC 112. Any suitable type of ADC can be used for ADC 112, each ADC can have any suitable number of bits, and each ADC can have any suitable sampling rate, in some embodiments. For example, in some embodiments, each ADC 112 can sample the signal at its input at a rate of at least two times the system bandwidth (e.g., 2.5 times, 3 times, etc.). As another example, in some embodiments, b can be 1, 2, 3, 4, 5, or any other suitable number.

The output of ADCs 112 can be processed by baseband processing circuit 114. Baseband processing circuit 114 can be any suitable component(s) for processing the outputs of ADCs 112. For example, in some embodiments, circuit 114 can be a hardware processor, such as a microprocessor, a digital signal processor, a suitably programmed programmable gate array (PGA), etc. coupled to any suitable memory (e.g., such as random access memory, read only memory, flash memory, a disk drive (which can be solid state or not), and/or any other suitable memory).

Signals, which can include pilot symbols and data symbols, transmitted from user devices 102 and received and processed by BS 104 will now be described mathematically. Such signals can be modulated in any suitable manners, such as using Quadrature Phase Shift Keying (QPSK) modulation. Any suitable pilot symbols can be transmitted, and the pilot symbols can be known in advance of transmission to both the user devices and the BS in some embodiments.

Let x[i]∈

C^(K×1) be a vector of transmitted signal(s) from K user device(s) 102 at time slot i with unit average power. In accordance with some embodiments, the received signal(s) r[i]∈

^(N) ^(a) ^(×1) across N_(a) BS antennas 106 can be given by

r[i]=Hx[i]+n[i], 1≤i≤T _(c),  (1)

where n[i]˜

(0, σ²I) is independent and identically distributed (i.i.d.) complex Gaussian noise and H

[h₁, h₂, . . . , h_(K)]∈

^(N) ^(a) ^(×K) is the block fading channel matrix between K user devices 102 and BS 104. It can be assumed in some embodiments that H stays static within a coherence interval of T_(c) and changes independently across different coherence intervals. In some embodiments, the channel of the k-th user can be modelled as h_(k)˜

(0,β_(k)I), where β_(k) is the large-scale fading factor. In some embodiments, the channel matrix can be written as H≡H′Λ with Λ

Diag([√{square root over (β₁)}, √{square root over (β₂)}, . . . , √{square root over (β_(K))}], where the entries of H′ are distributed as {H′_(nk)˜

(0,1), ∀n, k}. Since {β_(k)} change slowly over time and can be estimated accurately, Λ is assumed to be known at the BS in some embodiments.

Upon reception at antennas 106, r[i] will pass through the analog structure and be combined in the RF band to get y[i]∈

^(N) ^(r) ^(×1) as

y[i]=W[i]r[i]=W[i]Hx[i]+W[i]n[i], 1≤i≤T _(c),  (2)

where W[i]∈

^(N) ^(r) ^(×N) ^(a) denotes the combing matrix of analog structures. In some embodiments, analog combining can be based on switches or phase shifters as shown in FIGS. 2A and 2B, respectively.

In accordance with some embodiments, the signal models of equations (1) and (2) can be formulated into a low-rank matrix completion problem. Signal detection can then be performed using matrix factorization solutions to the low-rank matrix completion problem in some embodiments.

In accordance with some embodiments, based on equation (1), X, N, and R can be defined as X

[x[1], x[2], . . . , x[T_(c)]]∈

^(K×T) ^(c) , N

[n[1], n[2], . . . , n[T_(c)]]∈

^(N) ^(a) ^(×T) ^(c) and R

[r[1], r[2], . . . , r[T_(c)]]∈

^(N) ^(a) ^(×T) ^(c) . This gives equation (1) in a matrix form as

R=HX+N=Z+N,  (9)

where Z

HX∈

^(N) ^(a) ^(×T) ^(c) .

In massive MIMO in some embodiments, both the number of antennas at the BS and the coherence time can be much larger than the number of users, i.e., N_(a), T_(c), >>K. As a result, Z can be a low-rank matrix. In some embodiments, Z can be defined as being a low-rank matrix when rank[Z]≤K<<min{N_(a), T_(c)}. In other words, in some embodiments, Z can be defined as being a low-rank matrix when its rank is less than or equal to the number of user devices, and the number of user devices is less than or equal to half of the lesser of the number of antennas in the BS and the number of time slots T_(c) over which the pilot symbols and the data symbols are received. Note that no rank sparsity of H is assumed herein in some embodiments. The leveraged low-rank property of Z stems from the fact that K<<min{N_(a), T_(c)} in massive MIMO in some embodiments.

According to equation (2), {y[i], i=1, . . . , T_(c)} can be related to R via the following low-rank matrix completion formulations discussed in connection with FIGS. 2A and 2B below in some embodiments.

As shown in FIG. 2A, in some embodiments, each RF chain 110 can be coupled to one of N_(a) antennas 106 through a switch 202 and a low noise amplifier 204. In some embodiments, in different time slots, each RF chain 110 can be coupled to a different antenna 106. The coupling between RF chains 110 and antennas 106 can be random, pseudo random, or according to a fixed schedule in some embodiments. This low-cost structure, known as antenna selection, can capture many advantages of massive MIMO and has low power consumption. Based on equations (2) and (9), a subset of entries in R can be observed, which include {y[i], ∀i}, in some embodiments. In some embodiments, the corresponding index set can be denoted as Ω and Y^(Ω) can be defined as Y^(Ω)∈

^(N) ^(a) ^(×T) ^(c) , whose entries in Ω are given by {y[i], ∀i} and otherwise zeros.

For an arbitrary matrix A∈

^(N) ^(a) ^(×T) ^(c) ,

_(Ω)(A)∈

^(N) ^(a) ^(×T) ^(c) can be defined as

$\begin{matrix} {{_{\Omega}(A)}_{ni} = \left\{ {\begin{matrix} {{A_{ni},}\ } & {\left( {n,\ i} \right) \in \Omega} \\ {{0,}\ } & {\left( {n,\ i} \right) \notin \Omega} \end{matrix}.} \right.} & (10) \end{matrix}$

Then, Y^(Ω)=

_(Ω)(R). Based on (9) and (10), Y^(Ω) can be formulated as an incomplete observation of the low-rank matrix HX corrupted by the Gaussian noise N.

As shown in FIG. 2B, in some embodiments, each RF chain 110 can be connected to all antennas through phase shifters 212, LNAs 214, splitters 216, and combiners 218. Each element in W[i] represents a realization of a phase shifter, which can be modeled as c·exp(jθ). The constant c (which represents an attenuation) can the same for all phase shifters while the angle θ varies for different phase shifters in some embodiments. In some embodiments, W[i] can be given by N_(r) row vectors randomly chosen from the N_(a)×N_(a), discrete Fourier transform (DFT) matrix F, whose elements are given by

$\begin{matrix} {{F_{m,n} = {\frac{1}{\sqrt{N_{a}}}e\frac{{j \cdot 2}{mn\pi}}{N_{a}}}},m,{n = 0},\ldots \mspace{11mu},{N_{a} - 1.}} & (11) \end{matrix}$

In other embodiments, designs for W[i] can include cyclically shifted Zadoff-Chu sequences that maximize spectral efficiency. A property of such W[i] in some embodiments is row-orthogonality.

Defining {tilde over (R)}

FR, {tilde over (H)}

FH and Ñ

FN results in {tilde over (R)}={tilde over (H)}X+Ñ from equation (9). Based on equation (2), {{tilde over (R)}_(ni), ∀(n, i)∈Ω} can be observed to get {y[i], ∀i}. According to the definition of Y^(Ω) and the operator

_(Ω)(⋅) in equation (10), Y^(Ω)=

₁₀₆({tilde over (R)}). Since F is unitary, the distributions of {tilde over (H)} and Ñ are the same as those of H and N, respectively. Then Y^(Ω) can be formulated as an incomplete observation of the low-rank matrix {tilde over (H)}X corrupted by the Gaussian noise Ñ.

For arbitrary {W[i]}, equation (2) can be transformed into the following low-rank matrix sensing problem:

y=

(HX+N)=

(HX)+

(N),  (12)

where y

[y[1]^(T), . . . , y[T_(c)]^(T)]^(T)∈

^(N) ^(r) ^(×T) ^(c) ^(×1) and

(⋅):

^(N) ^(a) ^(×T) ^(c) →

^(N) ^(r) ^(T) ^(c) ^(×1) is the corresponding linear map. The second equality is due to the linearity of

(⋅). After applying the noise whitening techniques to

(N), existing low-rank matrix recovery algorithms can be readily applied. For example, examples of low-rank matrix recovery algorithms that can be used in some embodiments are described in: H. Liu, X. Yuan, and Y. J. Zhang, “Super-resolution blind channel and-signal estimation for massive MIMO with one-dimensional antenna array,” IEEE Trans. Signal Process., vol. 67, no. 17, pp. 4433-4448, September 2019; P. Jain, P. Netrapalli, and S. Sanghavi, “Low-rank matrix completion using alternating minimization,” in Proc. 45th Annu. ACM Symp. Theory Comput., 2013, pp. 665-674; and E. Romanov and M. Gavish, “Near-optimal matrix recovery from random linear measurements,” Proc. Nat. Acad. Sci., vol. 115, no. 28, pp. 7200-7205, 2018, each of which is hereby incorporated by reference herein in its entirety.

A semi-blind detection method to recover X from Y^(Ω) without knowing H or {tilde over (H)} is now described in accordance with some embodiments. Semi-blind in this context simply indicates that it is not necessary to know a channel estimate in order to recover X. H and {tilde over (H)} can be mutually transformed to each other through the Discrete Fourier Transform (DFT) or Inverse Discrete Fourier Transform (IDFT) operations in some embodiments. With the abuse of notation, the related algorithms and analyses are presented using H below without differentiating with {tilde over (H)}, which does not affect estimating X from Y^(Ω).

Based on equations (9) and (10), the low-rank matrix completion problem can be formulated in some embodiments as

$\begin{matrix} {{\left( {U^{*},V^{*}} \right) = {{\underset{\begin{matrix} {U \in C^{N_{a} \times K}} \\ {V \in C^{K/{Tc}}} \end{matrix}}{argmin}{{Y^{\Omega} - {_{\Omega}\left( {U\; \Lambda \; V} \right)}}}_{\mathcal{F}}^{2}} + {\lambda_{U}{U}_{\mathcal{F}}^{2}} + {\lambda_{V}{V}_{\mathcal{F}}^{2}}}},} & (13) \end{matrix}$

where

denotes Frobenius norm of the matrix.

Here, U* and V* correspond to the channel estimate Ĥ′ and the data estimate {circumflex over (X)}, respectively. The regularization parameters λ_(U) and λ_(V) are used to incorporate the prior information of H′ and X, respectively.

Note that the decomposition of Z=U*ΛV* in equation (13) is not unique. For Z=HX=H′ΛX, there exists an invertible matrix Γ∈

^(K×K) such that H′Λ=U*ΛΓ and X=Γ⁻¹V*. Thus, solving equation (13) does not uniquely recover X in equation (9). Indeed, a sequence of pilot symbols are needed to estimate Γ before estimating X. Since the dimension of Γis K×K, the number of pilot symbols needed can scale with K in some embodiments. In some embodiments, for example, the number of pilot symbols can be K or 2K.

Specifically, in some embodiments, pilot symbols are in the front of X as X≡[P, D], where D≡[x[T_(p)+1], . . . , x[T_(c)]]∈

^(K×T) ^(d) with T_(d)=T_(c)−T_(p). After solving equation (13), V*=ΓX can be

V*

[V_(p)*, V_(d)*]=Γ[P,D],  (14)

where V_(p)* and V_(d)* correspond to P and D, respectively. In some embodiments, the pilot sequences are chosen to be orthogonal, i.e., PP^(H)=I_(K×K). From the pilot phase V_(p)*=ΓP in equation (14), Γ can be

Γ=V_(p)*P^(H),   (15)

For the data phase V_(d)* =ΓD in equation (14), since Γ is invertible, an estimate of D can be given by

{circumflex over (D)}=Γ ⁻¹ V _(d) *=P(V _(p)*)^(†) V _(d)*,  (16)

Recalling that H′Λ=U*ΛΓ, given equation (15), an estimate of H=H′Λ can be given by

Ĥ=U*ΛV_(p)*P^(H).  (17)

The channel estimator in equation (17) is based on the received signal corresponding to both P and D. The purpose of P in equations (16) and (17) is to remove the ambiguity of non-unique matrix factorization solutions. Intuitively, given P with a fixed T_(p), the performance of channel estimator in equation (17) can be improved by increasing T_(d) in some embodiments.

In connection with FIGS. 3 and 4, in accordance with some embodiments, two examples 300 and 400 of iterative algorithms to solve the low-rank matrix completion problem are presented. The first algorithm 300 is referred to herein as regularized alternating least squares (R-ALS). The second algorithm 400 is referred to herein as bilinear generalized AMP (BiG-AMP).

Turning to FIG. 3, an example of a regularized alternating least squares (R-ALS) algorithm 300 is shown. Algorithm 300 may be executed in baseband processing circuit 114 of FIG. 1, which circuit 114 may include a hardware processor. Algorithm 300 may be represented by hardware-processor-executable instructions stored in memory of baseband processing circuit 114 of FIG. 1, which memory can be couple to a hardware processor included in circuit 114.

As illustrated, at 302, algorithm 300 inputs Y^(Ω). Inputs Y^(Ω) can be received in any suitable manner in some embodiments. For example, in some embodiments, these inputs can be received as the outputs of ADCs 112 of FIG. 1.

Next, at 304, algorithm 300 can initialize Û and {circumflex over (V)}. This initialization can be performed in any suitable manner. For example, in some embodiments, the elements of Û and {circumflex over (V)} can be drawn from i.i.d. Gaussian random variables with zero mean and unit variance. As another example, in some embodiments, first Û and {circumflex over (V)} are randomly initialized, and then the pilot positions in {circumflex over (V)} are replaced with pilot symbols. As yet another example, in some embodiments, first denote [U^(Ω), Σ^(Ω), V^(Ω)]=svd(Y^(Ω)) as the singular value decomposition (SVD) of Y^(Ω), where Σ^(Ω)∈

^(N) ^(a) ^(×T) ^(c) is a diagonal matrix containing the singular values in a non-increasing order, and then initialize Û and {circumflex over (V)} with the first K columns of U^(Ω) and the first K rows of V^(Ω), respectively.

After initializing Û∈

^(N) ^(a) ^(×K) and {circumflex over (V)}∈

^(K×T) ^(c) , R-ALS algorithm 300 alternately solves equation (13) for V and U while fixing the other as

{circumflex over (V)}=

∥Y ^(Ω)−

_(Ω)(ÛΛV)

+λ_(V) ∥V

,   (18a)

Û=

∥Y ^(Ω)−

_(Ω)(UΛ{circumflex over (V)})

+λ_(U) ∥U

,   (18b)

where λ_(V) and λ_(U) are determined by the prior of X and H′, respectively.

While the overall problem of equation (13) is non-convex, the sub-problems in equations (18a) and (18b) are convex and can be solved by regularized least squares. Specifically, define E∈

^(N) ^(a) ^(×T) ^(c) as

$\begin{matrix} {E_{ni} = \left\{ \begin{matrix} {1,} & {\left( {n,i} \right) \in \Omega} \\ {0,} & {\left( {n,i} \right) \notin \Omega} \end{matrix} \right.} & (19) \end{matrix}$

Then for equation (18a), as shown in 308-312 of FIG. 3, each column of V can be optimized separately as equation (20) below.

$\begin{matrix} {{\hat{V}\left( {:{,i}} \right)} = {{{{argmin}_{{V{({:{,i}})}} \in {\mathbb{C}}^{K \times 1}}{{{Y^{\Omega}\left( {:{,i}} \right)} - {{{Diag}\left\lbrack {E\left( {:{,i}} \right)} \right\rbrack}\hat{U}\Lambda \; {V\left( {:{,i}} \right)}}}}_{2}^{2}} + {\lambda_{V}{{V\left( {:{,i}} \right)}}_{2}^{2}}} = {\left( {{\Lambda \; {{\hat{U}}^{H}\left( {{Diag}\left\lbrack {E\left( {:{,i}} \right)} \right\rbrack} \right)}\hat{U}\Lambda} + {\lambda_{V}I}} \right)^{- 1}\Lambda \; {{\hat{U}}^{H}\left( {{Diag}\left\lbrack {E\left( {:{,i}} \right)} \right\rbrack} \right)}{Y^{\Omega}\left( {:{,i}} \right)}}}} & (20) \end{matrix}$

Similarly, for equation (18b), as shown in 314-318 of FIG. 3, each row of Û can be given by equation (21) below.

Û(n,:)=Y ^(Ω)(n,:)(Diag[E(n,:)]){circumflex over (V)}^(H)Λ(Λ{circumflex over (V)}(Diag[E(n,:)]){circumflex over (V)}^(H)Λ+λ_(U) I)⁻¹  (21)

Since the entries of H′ and X have unit average power, λ_(V)=λ_(U)=σ². The R-ALS algorithm alternates between equations (20) and (21) in 306-320 iteratively until convergence of successive values of {circumflex over (V)} and Û. For example, when {circumflex over (V)} and Û for adjacent passes of the repeat-until loop in 306-320 each do not change by more than some threshold amount, convergence can be considered to have occurred. Any suitable threshold can be used, such as 0.0001.

In some embodiments, the complexity of R-ALS algorithm 300 per iteration is dominated by matrix inversion, which scales as

(T_(c)K³+N_(a)K³).

Turning to FIGS. 4A and 4B, an example of a bilinear generalized approximate message passing (BiG-AMP) algorithm 400 is shown. Algorithm 400 may be executed in baseband processing circuit 114 of FIG. 1, which circuit 114 may include a hardware processor. Algorithm 400 may be represented by hardware-processor-executable instructions stored in memory of baseband processing circuit 114 of FIG. 1, which memory can be couple to a hardware processor included in circuit 114.

In accordance with some embodiments, BiG-AMP algorithm 400 can be used to estimate the matrices H and X from a noisy (possibly incomplete) matrix observation Y^(Ω) of their product Z=HX. In some embodiments, the entries of H and X are assumed to be independently distributed as

P _(H)(H)=Π_(n)Π_(k) P _(H)(H _(nk)),   (29a)

P _(X)(X)=Π_(n)Π_(i) P _(X)(X _(ki)).   (29a)

In some embodiments, the likelihood of the bilinear observation Y^(Ω) is assumed to be

P _(Y) _(Ω) _(|Z))(Y ^(Ω) Z)=Π_(n)Π_(i) P _(Y) _(Ω) _(|Z)(Y _(ni) ^(Ω) |Z _(ni)).   (30)

According to equations (9) and (10),

P Y n  Z  ( Y ni Ω  Z ni ) = {   ( Y ni Ω ; Z ni , σ 2 ) , ( n , i ) ∈ Ω , Y ni Ω , ( n , i ) ∉ Ω .

where

Y denotes a point mass function at Y=0.

Based on equations (29) and (30), in some embodiments, the joint posterior distribution of H and X can be given by

$\begin{matrix} {{{P_{{HX}|Y^{\Omega}}\left( {H,\ \left. X \middle| Y^{\Omega} \right.} \right)} = \frac{{P_{Y^{\Omega}Z}\left( Y^{\Omega} \middle| Z \right)}{P_{H}(H)}{P_{X}(X)}}{P_{Y^{\Omega}}\left( Y^{\Omega} \right)}},{where}} & (32) \\ {{P_{Y^{\Omega}}\left( Y^{\Omega} \right)} = {\int{\int{{P_{Y^{\Omega}|Z}\left( Y^{\Omega} \middle| Z \right)}{P_{H}(H)}{P_{X}(X)}{{dHdX}.}}}}} & (33) \end{matrix}$

In some embodiments, BiG-AMP algorithm 400 approximates the minimum mean-squared error (MMSE) estimates of H and X alternately based on Y^(Ω) and equation (32).

As illustrated, at 402, algorithm 400 inputs Y^(Ω). Inputs Y^(Ω) can be received in any suitable manner in some embodiments. For example, in some embodiments, these inputs can be received as the outputs of ADCs 112 of FIG. 1.

Next, at 404, algorithm 400 initializes Ĥ and {circumflex over (X)}. This initialization can be performed in any suitable manner in some embodiments. For example, in some embodiments, algorithm 400 can initialize Ĥ=ÛΛ and {circumflex over (X)}={circumflex over (V)}, where Û and {circumflex over (V)} use the initializations described above for algorithm 300. As another example, in some embodiments, algorithm 400 can perform best rank-K initialization.

Then, at 408, algorithm 400 can compute the prior distribution of Z=HX. This can be performed in any suitable manner in some embodiments. For example, this can be performed by solving equations (22a), (22b), (22c), and (22d) of FIG. 4A and in some embodiments. In equation (22a), Z ^(pri) is a plug-in estimate of Z. In equation (22c), Z^(pri) provides a refined estimate by introducing an “Onsager” term to handle the correlation among messages in iterative processing, which can improve the convergence and performance of iterative algorithms.

At 410, algorithm 400 can compute the posterior distribution of Z based on equations (30) and (31) and Y^(Ω). More particularly, with a Gaussian prior assumption Z_(ni)˜

(Z_(ni); Z_(ni) ^(pri), hd ni^(pri)(Z)), the posterior mean and variance in equations (23a) and (23b) can be given, respectively, by

$\begin{matrix} {Z_{ni}^{post} = \left\{ \begin{matrix} {{Z_{ni}^{pri} + {\frac{v_{ni}^{prt}(Z)}{{v_{ni}^{pri}(Z)} + \sigma^{2}}\left( {Y_{ni}^{\Omega} - Z_{ni}^{pri}} \right)}},} & {{\left( {n,i} \right) \in \Omega},} \\ {Z_{ni}^{pri},} & {{\left( {n,i} \right) \notin \Omega},} \end{matrix} \right.} & (34) \\ {v_{ni}^{post} = \left\{ \begin{matrix} {\frac{{v_{ni}^{pri}(Z)} \cdot \sigma^{2}}{{v_{ni}^{pri}(Z)} + \sigma^{2}},} & {{\left( {n,i} \right) \in \Omega},} \\ {{v_{i}^{pri}(Z)},} & {\left( {n,i} \right) \notin {\Omega.}} \end{matrix} \right.} & (35) \end{matrix}$

For (n,i)∉Ω, since there is no observation for Z_(ni), the posterior is the same as the prior.

Then, at 412, algorithm 400, using equations (24a) and (24b), first computes the residual S and its inverse variance. Subsequently, given {circumflex over (X)}, using equations (25a) and (25b), algorithm 400 performs matched-filtering of S to get {tilde over (H)}, which can be interpreted as an additive white Gaussian noise (AWGN) observation of H with noise variance given by v({tilde over (H)}). Alternately, in some embodiments, given Ĥ, using equations (26a), (26b), and (26c), algorithm 400 can compute the AWGN observation {tilde over (X)} of X.

Next, at 414, using equations (27a) and (27b), algorithm 400 first performs the MMSE estimation of H from its AWGN observation {tilde over (H)} and P_(H)(H). Since it is assumed that {h_(k)˜

(0, β_(k)I), ∀k}, the MMSE estimate Ĥ_(n,k) and the corresponding MSE v_(nk)(Ĥ) in equations (27a) and (27b) are given, respectively, by

$\begin{matrix} {{\hat{H}}_{n,k} = \frac{{v_{nk}\left( \overset{\sim}{H} \right)}{\overset{\sim}{H}}_{nk}}{{v_{nk}\left( \overset{\sim}{H} \right)} + \beta_{k}}} & \left( {36a} \right) \\ {{v_{nk}\left( \hat{H} \right)} = \frac{v_{nk}\left( \overset{\sim}{H} \right)}{{v_{nk}\left( \overset{\sim}{H} \right)} + \beta_{k}}} & \left( {36b} \right) \end{matrix}$

Second, using equations (28a) and (28b), algorithm 400 performs the MMSE estimation of X from its AWGN observation {tilde over (X)} and P_(X)(X). Here, it is assumed that {X_(ki), ∀k, i} are drawn uniformly from a constellation. Detailed expressions of {circumflex over (X)}_(ki) and ν_(ki)({circumflex over (X)}) for different constellation schemes can be found in C. K. Wen, C. J. Wang, S. Jin, K. K. Wong, and P. Ting, “Bayes-optimal joint channel-and-data estimation for massive MIMO with low-precision ADCs,” IEEE Trans. Signal Process., vol. 64, no. 10, pp. 2541-2556, May 2016, which is hereby incorporated by reference herein in its entirety.

Unlike R-ALS algorithm 300 that uses pilot symbols to estimate Γ in equation (15) after obtaining U* and V*, BiG-AMP algorithm 400 can use pilot symbols to estimate H and D directly. Specifically, in equations (22), (25), and (28) of algorithm 400, {{circumflex over (X)}_(ki), ∀k, 1<i≥T_(p)} are always given by P in the iterative process and the corresponding variances are set as zeros {v_(ki)({circumflex over (X)})=0, ∀k, 1≤i≤T_(p)}.

In some embodiments, the complexity of BiG-AMP algorithm 400 per iteration is dominated by ten matrix multiplications as indicated by equations (22a), (22b), (22c), (22d), (25a), (25b), (26a), (26b), and (26c), each of which scales as

(N_(a)KT_(c)). Normally, ALS has higher complexity than BiG-AMP algorithm 400 per iteration. But for massive MIMO with K<<N_(a),T_(c), it has been observed that the overall complexities of ALS and BiG-AMP algorithm 400 are comparable since BiG-AMP requires more iterations to converge than ALS does.

As shown in FIGS. 4A and 4B, 406-416 of FIGS. 4A and 4B can repeat until convergence of successive values of H and X. For example, when H and X for adjacent passes of the repeat-until loop in 306-320 each do not change by more than some threshold amount, convergence can be considered to have occurred. Any suitable threshold can be used, such as 0.0001.

In some embodiments, ADCs 112 of FIG. 1 can be low-resolution ADCs (LR-ADCs). A low-resolution ADC (LR-ADC) can be any suitable ADC having in some embodiments. ADCs 112 can be implemented using LR-ADCs to reduce the cost of implementing a system 100 in some embodiments.

In some embodiments, the effect of LR-ADCs can be modeled as a quantization function denoted as

(⋅). According to equation (2), the quantized signal q[i]∈

^(N) ^(r) ^(×1) can be given by

q[i]=

(y[i])=

(W[i]r[i]), 1≤i≤T _(c),  (37)

where

(⋅) applies component-wise to the entries of y[i]. In some embodiments, a uniform mid-rise quantizer can be employed in an LR-ADC. In some embodiments, when this is the case,

(⋅) applies to the real and imaginary parts of the complex signal y separately as

$\begin{matrix} {{{Q(y)} = {{{{sign}\left( {{Re}(y)} \right)} \cdot \left( {{\min \left\{ {\left\lceil \frac{\left( {{Re}(y)} \right)}{\Delta} \right\rceil,2^{b - 1}} \right\}} - \frac{1}{2}} \right) \cdot \Delta} + {j \cdot {{sign}\left( {{Im}(y)} \right)} \cdot \left( {{\min \left\{ {\left\lbrack \frac{\left( {{Im}(y)} \right)}{\Delta} \right\rceil,2^{b - 1}} \right\}} - \frac{1}{2}} \right) \cdot \Delta}}},} & (38) \end{matrix}$

where b is the resolution of the LR-ADCs and Δ is the quantization stepsize.

For a uniform mid-rise quantizer with an input signal distributed as

(0,1), example values of stepsize Δ_(b) and minimum normalized MSE (NMSE) for different resolutions b can be as shown in the table of FIG. 5. The NMSE can be defined as NMSE=E[|

(y)−y|²]/E[|y|²]. Since the real and imaginary parts of y have the same average power, the stepsize can be chosen as Δ=√{square root over (P_(y)/2)}·Δ_(b) with P_(y)

E[y²] in some embodiments.

Based on equations (9) and (37), Q and Q¹⁰⁶ can be defined as Q

(R) and Q^(Ω)

_(Ω)(Q). The entries of Q^(Ω) in Ω can be given by {q[i], i=1, . . . , T_(c)} and zeros otherwise. According to equations (2), (9), and (37), Q^(Ω) can be related to Z via the following likelihood:

P Q Ω  Z  ( Q ni Ω  Z ni ) = { Pr  { Q ni Ω = Q  ( R ni )  Z ni } , ( n , i ) ∈ Ω , Q n , i Ω , ( n , i ) ∉ Ω ,   with ( 39 ) Pr  { Q ni Ω = Q  ( R ni )  Z ni } =  Pr  { Q ni Ω = Q  ( Z ni + N ni )  Z ni } =  ∫ n ∈ Q - 1  ( Q ni Ω )    ( n ; Z ni , σ 2 )  dn , ( 40 )

where

⁻¹(Q_(ni) ^(Ω)) denotes the quantization interval corresponding to the quantized value Q_(ni) ^(Ω).

Compared with {P_(Y) _(Ω) _(|Z)(Y_(ni) ^(Ω)|Z_(ni)), ∀(n,i)∈Ω} in equations (31), the likelihood {P_(Q) _(Ω) _(|Z)(Q_(ni) ^(Ω)|Z_(ni)), ∀(n, i)∈Ω} becomes nonlinear in equation (39). In some embodiments, BiG-AMP algorithm 400 can handle any continuous nonlinear likelihoods while R-ALS algorithm 300 cannot. In BiG-AMP algorithm 400 of FIGS. 4A and 4B, the posterior of Z at 410 can be modified as follows:

Z_(ni) ^(post)=E[Z_(ni)|Z_(ni) ^(pri), v_(ni) ^(pri)(Z), Q_(ni) ^(Ω)],   (41a)

v_(ni) ^(post)(Z)=Var[Z_(ni)|Z_(ni) ^(pri), v_(ni) ^(pri)(Z), Q_(ni) ^(Ω)],   (41b)

Specifically, for (n, i)∉Ω, the posterior is the same as the prior. For (n, i)∈Ω, Z_(ni) ^(post) and v_(ni) ^(post)(Z) can be given by

$\begin{matrix} {\mspace{79mu} {{Z_{ni}^{post} = {Z_{ni}^{pri} + {\frac{{{sign}\left( Q_{ni}^{\Omega} \right)}{v_{ni}^{pri}(Z)}}{\sqrt{2\left( {{v_{ni}^{pri}(Z)} + \sigma^{2}} \right)}} \cdot \frac{{\varphi \left( \eta_{1} \right)} - {\varphi \left( \eta_{2} \right)}}{{\Phi \left( \eta_{1} \right)} - {\Phi \left( \eta_{2} \right)}}}}},}} & \left( {42a} \right) \\ {{{v_{ni}^{post}(Z)} = {\frac{v_{ni}^{pri}(Z)}{2} - {\frac{{v_{ni}^{pri}(Z)}/2}{{v_{ni}^{pri}(Z)} + \sigma^{2}}\left( {\frac{{\eta_{1}{\varphi \left( \eta_{1} \right)}} - {\eta_{2}{\varphi \left( \eta_{2} \right)}}}{{\varphi \left( \eta_{1} \right)} - {\varphi \left( \eta_{2} \right)}} + \left( \frac{{\varphi \left( \eta_{1} \right)} - {\varphi \left( \eta_{2} \right)}}{{\varphi \left( \eta_{1} \right)} - {\varphi \left( \eta_{2} \right)}} \right)^{2}} \right)}}},\mspace{79mu} {with}} & \left( {42b} \right) \\ {\mspace{79mu} {{\eta_{1} = \frac{{{{sign}\left( Q_{ni}^{\Omega} \right)}Z_{ni}^{pri}} - {\min \left\{ {\left| r_{b - 1} \right|,\left| r_{b} \right|} \right\}}}{\sqrt{\left( {{v_{ni}^{pri}(Z)} + \sigma^{2}} \right)/2}}},}} & \left( {43a} \right) \\ {\mspace{76mu} {{\eta_{2} = \frac{{{{sign}\left( Q_{ni}^{\Omega} \right)}Z_{ni}^{pri}} - {\max \left\{ {\left| r_{b - 1} \right|,\left| r_{b} \right|} \right\}}}{\sqrt{\left( {{v_{ni}^{pri}(Z)} + \sigma^{2}} \right)/2}}},}} & \left( {43b} \right) \end{matrix}$

where [r_(b−1), r_(b)] denotes the quantization interval corresponding to the quantized value Re(Q_(ni) ^(Ω)). Since

(⋅) applies separately to the real and imaginary parts, calculating the complex-valued posterior in equation (41) can be decoupled into calculating two real-valued posteriors. To simplify the notation, Z_(ni) ^(pri),Z_(ni) ^(ost) and Q_(ni) ^(Ω) in equations (42) and (43) can be abused to denote Re(Z_(ni) ^(pri)), Re(Z_(ni) ^(post)), and Re(Q_(ni) ^(Ω)), respectively. The imaginary part of Z_(ni) ^(post) can be obtained by equations (42) and (43) in a similar way.

For a nonlinear function with a Gaussian input signal, Bussagang's theorem can be using in some embodiments to decompose an output signal into two parts: a linear transform of the input signal; and a distortion that is statistically uncorrelated to the input signal.

Before applying Bussagang's decomposition, in some embodiments, it can be assumed that the entries of y are i.i.d. complex Gaussian as y˜

(0, P_(y)I_(N) _(r) _(×N) _(r) ), where P_(y)=β+σ² with β

Σ_(k=1) ^(K)β_(k).

This assumption can be justified as follows:

1. Since the entries of x from K users are assumed i.i.d. with unit average power, E[xx^(H)]=I_(K×K). According to equation (1),

$\begin{matrix} {{E\left\lbrack {rr}^{H} \right\rbrack} = {E\left\lbrack {\left( {{Hx} + n} \right)\left( {{Hx} + n} \right)^{H}} \right.}} & {\left( {44a} \right)} \\ {= {{E\left\lbrack {HH}^{H} \right\rbrack} + {\sigma^{2}I_{N_{a} \times N_{a}}}}} & {\left( {44b} \right)} \\ {{= {\left( {\overset{\_}{\beta} + \sigma^{2}} \right)I_{N_{a} \times N_{a}}}},} & {{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}\left( {44c} \right)} \end{matrix}$

where the last equality is due to {h_(k)˜

(0, β_(k)I), ∀k}. According to the central limit theorem, the entries of r are distributed as r˜

(0, P_(r)I_(N) _(a) _(×N) _(a) ) with P_(r)

β+σ².

2. For the hybrid architecture with switches or phase shifters, W is formed by a set of N_(r) row vectors randomly chosen from an N_(a)×N_(a) identity matrix or the DFT matrix, respectively. For both cases, E[WW^(H)]=I_(N) _(r) _(×N) _(r) According to equations (2) and (44c),

$\begin{matrix} {{E\left\lbrack {yy}^{H} \right\rbrack} = {{E\left\lbrack {({Wr})({Wr})^{H}} \right\rbrack} = {E\left\lbrack {{Wrr}^{H}W^{H}} \right\rbrack}}} & {{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}\left( {45a} \right)} \\ {= {\left( {\overset{\_}{\beta} + \sigma^{2}} \right){I_{N_{r} \times N_{r}}.}}} & {\left( {46a} \right)} \end{matrix}$

Since W is unitarily invariant, y˜

(0, P_(y)I_(N) _(r) _(×N) _(r) ) with P_(y)=P_(r).

Under the assumption made above, Bussagang's theorem can be applied to equation (37), and the index [i] in equation (37) dropped to simplify the notation, to get

q=

(y)=Gy+ξ,  (46)

where G∈

^(N) ^(r) ^(×N) ^(r) is chosen such that ξ∈

^(N) ^(r) ^(×1) is statistically uncorrelated to y, i.e., E[ξy^(H)]=0. G can be calculated as

G=Σ_(y,q) ^(H)Σ_(y,y) ⁻¹  (47)

where Σ_(y,q) denotes the cross-correlation matrix between y and q and Σ_(y,y) denotes the auto-correlation matrix of y.

Under the above assumption, G=gI_(N) _(r) _(×N) _(r) with

$\begin{matrix} {{g = {\frac{\Delta}{\sqrt{\pi \; P_{y}}} + {\sum\limits_{i = 1}^{L_{b} - 1}{\frac{2\; \Delta}{\sqrt{\pi \; P_{y}}}e^{- \frac{{({\Delta \cdot i})}^{2}}{P_{y}}}}}}},{{{where}\mspace{14mu} L_{b}}\overset{\Delta}{=}{2^{({b - 1})}.}}} & (48) \end{matrix}$

Substituting equation (48) into equation (46), the additive quantization noise model (AQNM) can be

q=

(y)=gy+ξ.   (49)

Combing equations (49) and (2),

q=gWHx+η,  (50)

where η

gWn+ξ and ξ=

(y)−gy as indicated by equation (49). Based on the above assumption, the entries of ξ have zero mean and its auto-correlation matrix is given by Σ_(ξ, ξ)=ν_(ξ)I_(N) _(r) _(×N) _(r) . While, generally, the elements of ξ are non-Gaussian, in some embodiments, assuming that the elements of ξ are Gaussian can greatly simplify the signal recovery in equation (50) and empirically cause little performance loss for massive MIMO systems with nonlinearities. If the elements of ξ are assumed to be Gaussian, the uncorrelatedness between ξ and y implies the independence due to the Gaussianity of y. As a result, η can be approximated by AWGN and the nonlinear system model of equation (37) can be transformed into a linear model up to a constant scaling. Algorithms 300 and 400 can then be applied to equation (50). Specifically, q

q/g can be defined as

{tilde over (q)}=WHx+{tilde over (η)},  (51)

where {tilde over (η)}

Wn+ξ/g. With a Gaussian assumption, the entries of {tilde over (η)} are distributed as C

(0, (ν_(ξ)/g²+σ²)I_(N) _(r) _(×N) _(r) ). Comparing equation (51) with equation (2), it is clear that algorithms 300 and 400 can be readily applied by replacing y and σ² with {tilde over (q)} and ν_(ξ)/g²+σ², respectively, in some embodiments. Note that g and ν_(ξ) are predetermined.

In some embodiments, any suitable computer readable media can be used for storing instructions for performing the functions and/or processes described herein. For example, in some embodiments, computer readable media can be transitory or non-transitory. For example, non-transitory computer readable media can include media such as non-transitory magnetic media (such as hard disks, floppy disks, and/or any other suitable magnetic media), non-transitory optical media (such as compact discs, digital video discs, Blu-ray discs, and/or any other suitable optical media), non-transitory semiconductor media (such as flash memory, electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and/or any other suitable semiconductor media), any suitable media that is not fleeting or devoid of any semblance of permanence during transmission, and/or any suitable tangible media. As another example, transitory computer readable media can include signals on networks, in wires, conductors, optical fibers, circuits, any suitable media that is fleeting and devoid of any semblance of permanence during transmission, and/or any suitable intangible media.

Although the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention can be made without departing from the spirit and scope of the invention, which is limited only by the claims that follow. Features of the disclosed embodiments can be combined and rearranged in various ways. 

What is claimed is:
 1. A system for recovering data symbols in a multiple-input, multiple-output (MIMO) receiver, comprising: N_(a) antennas that each have an output, that receive first signals corresponding to N_(p) pilot symbols transmitted from each of K transmitters for a total of N_(p)*K transmitted pilot symbols, and that receive second signals corresponding to a plurality of transmitted data symbols transmitted from the K transmitters, wherein N_(p) is less than N_(a), and wherein K is less than N_(a); an RF combiner having N_(a) inputs and N_(r) outputs, wherein each of the N_(a) inputs is connected to the output of a unique one of the N_(a) antennas; N_(r)RF chains, wherein each of the N_(r)RF chains has an input connected to a unique one of the N_(r) outputs of the RF combiner, wherein each of the N_(r)RF chains has an output, and wherein N_(r) is less than N_(a); N_(r)b-bit analog to digital converters (ADCs), wherein each of the N_(r)b-bit ADCs has an input connected to the output of a unique one of the N_(r)RF chains, and wherein each of the N_(r)b-bit ADCs has an output; and a hardware processor coupled to the output of each of the N_(r)b-bit ADCs and configured to: receive first digital signals representing the N_(p)*K transmitted pilot symbols; receive second digital signals representing the plurality of transmitted data symbols; and recover the plurality of transmitted data symbols using the second digital signals and no more pilot symbols than the N_(p)*K transmitted pilot symbols represented by the first digital signals.
 2. The system of claim 1, wherein N_(p) equals K.
 3. The system of claim 1, wherein N_(p) is less than half of N_(a).
 4. The system of claim 1, wherein the RF combiner combines signals from the antennas using phase shifters.
 5. The system of claim 1, wherein the RF combiner uses switches to couple the N_(r)RF chains to N_(r) of the N_(a) antennas.
 6. The system of claim 1, wherein recovering the plurality of transmitted data symbols includes performing low-rank matrix decomposition on the first digital signals and the second digital signals.
 7. The system of claim 1, wherein b is less than
 5. 8. The system of claim 1, wherein the hardware processor uses Bussgang's decomposition to linearize distortion in at least one of the first digital signals and the second digital signals.
 9. The system of claim 1, wherein recovering the plurality of transmitted data symbols includes estimating a K×K ambiguity matrix using the first digital signals.
 10. A method for recovering data symbols in a multiple-input, multiple-output (MIMO) receiver, comprising: receiving, at N_(a) antennas that each have an output: first signals corresponding to N_(p) pilot symbols transmitted from each of K transmitters for a total of N_(p)*K transmitted pilot symbols; and second signals corresponding to a plurality of transmitted data symbols transmitted from the K transmitters, wherein N_(p) is less than N_(a), and wherein K is less than N_(a); receiving, at a hardware processor, first digital signals representing the N_(p)*K transmitted pilot symbols; receiving, at the hardware processor, second digital signals representing the plurality of transmitted data symbols; and recovering the plurality of transmitted data symbols using the second digital signals and no more pilot symbols than the N_(p)*K transmitted pilot symbols represented by the first digital signals using the hardware processor.
 11. The method of claim 10, wherein N_(p) equals K.
 12. The method of claim 10, wherein N_(p) is less than half of N_(a).
 13. The method of claim 10, wherein recovering the plurality of transmitted data symbols includes performing low-rank matrix decomposition on the first digital signals and the second digital signals.
 14. The method of claim 10, further comprising using Bussgang's decomposition to linearize distortion in at least one of the first digital signals and the second digital signals.
 15. The method of claim 10, wherein recovering the plurality of transmitted data symbols includes estimating a K×K ambiguity matrix using the first digital signals.
 16. A non-transitory computer-readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method for recovering data symbols in a multiple-input, multiple-output (MIMO) receiver, the method comprising: receiving, at N_(a) antennas that each have an output: first signals corresponding to N_(p) pilot symbols transmitted from each of K transmitters for a total of N_(p)*K transmitted pilot symbols; and second signals corresponding to a plurality of transmitted data symbols transmitted from the K transmitters, wherein N_(p) is less than N_(a), and wherein K is less than N_(a); receiving, at a hardware processor, first digital signals representing the N_(p)*K transmitted pilot symbols; receiving, at the hardware processor, second digital signals representing the plurality of transmitted data symbols; and recovering the plurality of transmitted data symbols using the second digital signals and no more pilot symbols than the N_(p)*K transmitted pilot symbols represented by the first digital signals using the hardware processor.
 17. The non-transitory computer-readable medium of claim 16, wherein N_(p) equals K.
 18. The non-transitory computer-readable medium of claim 16, wherein N_(p) is less than half of N_(a).
 19. The non-transitory computer-readable medium of claim 16, wherein recovering the plurality of transmitted data symbols includes performing low-rank matrix decomposition on the first digital signals and the second digital signals.
 20. The non-transitory computer-readable medium of claim 16, wherein the method further comprises using Bussgang's decomposition to linearize distortion in at least one of the first digital signals and the second digital signals.
 21. The non-transitory computer-readable medium of claim 16, wherein recovering the plurality of transmitted data symbols includes estimating a K×K ambiguity matrix using the first digital signals. 